#include <cctype>
#include <cstdio>
#include <cstring>
#define re register
int n, m, q, a[200001], l, r, vis[200001];
bool f;
char buf[10000], *p = buf, *end = buf;
inline char Get_Char() {
	if(p == end) {
		if(feof(stdin)) return '\0';
		p = buf;
		end = buf + fread(buf, 1, 10000, stdin);
	}
	return *(p++);
}
inline void Read_Int(int &x) {
	x = 0; char ch(0);
	while(!isdigit(ch = Get_Char()));
	do x = x * 10 + (ch - '0');
	while(isdigit(ch = Get_Char()));
	return ;
}
int main() {
	freopen("stall.in", "r", stdin);
	freopen("stall.out", "w", stdout);
	Read_Int(n); Read_Int(m); Read_Int(q);
	for (re int i = 1; i < m; i += 2) 
		Read_Int(a[i]), Read_Int(a[i + 1]);
	if(m & 1) Read_Int(a[m]);
	for (re int i = 1; i <= q; ++i) {
		Read_Int(l); Read_Int(r);
		for (re int j = l; j <= r; ++j) vis[a[j]] = i;
		f = 0;
		for (re int j = 2; j <= n; ++j) {
			if (!(vis[j] == i || vis[j - 1] == i)) {
				printf("%d %d\n", j - 1, j);
				f = 1;
				break;
			}
		}
		if(!f) printf("-1 -1\n");
	}
	return 0;
}
